//
//  UserInfoViewModel.swift
//  SinaWeiBo
//
//  Created by ZKJ on 2017/9/6.
//  Copyright © 2017年 ZKJ. All rights reserved.
//

import UIKit

class UserInfoViewModel {
    
    //单例
    static let sharInstance : UserInfoViewModel = UserInfoViewModel()
    
    // MARK:- 计算属性（沙盒路径）
    var userInfoPath : String {
        // 1.从沙盒中读取中归档的信息
        // 1.1.获取沙盒路径
        let userInfoPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!
        return (userInfoPath as NSString).appendingPathComponent("userInfo.plist")
    }
    
    // MARK:- 定义用户信息属性(构造时直接赋值)
    var userInfo : UserInfo?
    
    
    //是否登录(计算属性)
    var isLogin : Bool {
        
        if userInfo == nil {
            return false
        }
        
        guard let expiresDate = userInfo?.expires_date else {
            return false
        }
        
        //判断access_token有没有过期(取出过期日期 : 当前日期)
        return expiresDate.compare(Date()) == ComparisonResult.orderedDescending
    }
    
    // MARK:- 重写init()构造函数
    init() {
        // 1.2.读取信息
        userInfo = NSKeyedUnarchiver.unarchiveObject(withFile: userInfoPath) as? UserInfo
    }
}
